Clinicians and patients typically communicate with an implantable medial device (IMD) using a clinician programmer (CP) and patient programmer, i.e., patient therapy manager (PTM), respectively. A clinician may use a clinician programmer to perform advanced IMD setup and diagnostics, while the PTM typically provides a less feature-rich interface for the patient to interact with the IMD. For example, while both the clinician programmer and PTM may be used to “program” an IMD and receive diagnostic information from the IMD, the PTM may generally only able to make limited programming modifications, and receive limited diagnostic information that is relevant to the patient, e.g., battery status. Both the clinician programmer and the PTM have traditionally communicated directly with the IMD for programming the IMD.
Clinician programmers and PTMs are computing devices. Traditionally, these computing devices have been special-purpose devices, i.e., dedicated to tasks associated with programming or otherwise communicating with IMDs. For example, these computing devices generally run custom operating systems, and only have software supporting clinician programmer or PTM functionality loaded thereon. Further, these computing devices are typically limited in their input/output capabilities, e.g., to communication with IMDs and, in some cases, each other.